package com.yh.homestay.pojo;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

public class UserOwnerExample implements Serializable {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public UserOwnerExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andOwnerIdIsNull() {
            addCriterion("owner_id is null");
            return (Criteria) this;
        }

        public Criteria andOwnerIdIsNotNull() {
            addCriterion("owner_id is not null");
            return (Criteria) this;
        }

        public Criteria andOwnerIdEqualTo(Integer value) {
            addCriterion("owner_id =", value, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdNotEqualTo(Integer value) {
            addCriterion("owner_id <>", value, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdGreaterThan(Integer value) {
            addCriterion("owner_id >", value, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("owner_id >=", value, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdLessThan(Integer value) {
            addCriterion("owner_id <", value, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdLessThanOrEqualTo(Integer value) {
            addCriterion("owner_id <=", value, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdIn(List<Integer> values) {
            addCriterion("owner_id in", values, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdNotIn(List<Integer> values) {
            addCriterion("owner_id not in", values, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdBetween(Integer value1, Integer value2) {
            addCriterion("owner_id between", value1, value2, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdNotBetween(Integer value1, Integer value2) {
            addCriterion("owner_id not between", value1, value2, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerNameIsNull() {
            addCriterion("owner_name is null");
            return (Criteria) this;
        }

        public Criteria andOwnerNameIsNotNull() {
            addCriterion("owner_name is not null");
            return (Criteria) this;
        }

        public Criteria andOwnerNameEqualTo(String value) {
            addCriterion("owner_name =", value, "ownerName");
            return (Criteria) this;
        }

        public Criteria andOwnerNameNotEqualTo(String value) {
            addCriterion("owner_name <>", value, "ownerName");
            return (Criteria) this;
        }

        public Criteria andOwnerNameGreaterThan(String value) {
            addCriterion("owner_name >", value, "ownerName");
            return (Criteria) this;
        }

        public Criteria andOwnerNameGreaterThanOrEqualTo(String value) {
            addCriterion("owner_name >=", value, "ownerName");
            return (Criteria) this;
        }

        public Criteria andOwnerNameLessThan(String value) {
            addCriterion("owner_name <", value, "ownerName");
            return (Criteria) this;
        }

        public Criteria andOwnerNameLessThanOrEqualTo(String value) {
            addCriterion("owner_name <=", value, "ownerName");
            return (Criteria) this;
        }

        public Criteria andOwnerNameLike(String value) {
            addCriterion("owner_name like", value, "ownerName");
            return (Criteria) this;
        }

        public Criteria andOwnerNameNotLike(String value) {
            addCriterion("owner_name not like", value, "ownerName");
            return (Criteria) this;
        }

        public Criteria andOwnerNameIn(List<String> values) {
            addCriterion("owner_name in", values, "ownerName");
            return (Criteria) this;
        }

        public Criteria andOwnerNameNotIn(List<String> values) {
            addCriterion("owner_name not in", values, "ownerName");
            return (Criteria) this;
        }

        public Criteria andOwnerNameBetween(String value1, String value2) {
            addCriterion("owner_name between", value1, value2, "ownerName");
            return (Criteria) this;
        }

        public Criteria andOwnerNameNotBetween(String value1, String value2) {
            addCriterion("owner_name not between", value1, value2, "ownerName");
            return (Criteria) this;
        }

        public Criteria andOwnerPhoneIsNull() {
            addCriterion("owner_phone is null");
            return (Criteria) this;
        }

        public Criteria andOwnerPhoneIsNotNull() {
            addCriterion("owner_phone is not null");
            return (Criteria) this;
        }

        public Criteria andOwnerPhoneEqualTo(String value) {
            addCriterion("owner_phone =", value, "ownerPhone");
            return (Criteria) this;
        }

        public Criteria andOwnerPhoneNotEqualTo(String value) {
            addCriterion("owner_phone <>", value, "ownerPhone");
            return (Criteria) this;
        }

        public Criteria andOwnerPhoneGreaterThan(String value) {
            addCriterion("owner_phone >", value, "ownerPhone");
            return (Criteria) this;
        }

        public Criteria andOwnerPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("owner_phone >=", value, "ownerPhone");
            return (Criteria) this;
        }

        public Criteria andOwnerPhoneLessThan(String value) {
            addCriterion("owner_phone <", value, "ownerPhone");
            return (Criteria) this;
        }

        public Criteria andOwnerPhoneLessThanOrEqualTo(String value) {
            addCriterion("owner_phone <=", value, "ownerPhone");
            return (Criteria) this;
        }

        public Criteria andOwnerPhoneLike(String value) {
            addCriterion("owner_phone like", value, "ownerPhone");
            return (Criteria) this;
        }

        public Criteria andOwnerPhoneNotLike(String value) {
            addCriterion("owner_phone not like", value, "ownerPhone");
            return (Criteria) this;
        }

        public Criteria andOwnerPhoneIn(List<String> values) {
            addCriterion("owner_phone in", values, "ownerPhone");
            return (Criteria) this;
        }

        public Criteria andOwnerPhoneNotIn(List<String> values) {
            addCriterion("owner_phone not in", values, "ownerPhone");
            return (Criteria) this;
        }

        public Criteria andOwnerPhoneBetween(String value1, String value2) {
            addCriterion("owner_phone between", value1, value2, "ownerPhone");
            return (Criteria) this;
        }

        public Criteria andOwnerPhoneNotBetween(String value1, String value2) {
            addCriterion("owner_phone not between", value1, value2, "ownerPhone");
            return (Criteria) this;
        }

        public Criteria andOwnerPhotoIsNull() {
            addCriterion("owner_photo is null");
            return (Criteria) this;
        }

        public Criteria andOwnerPhotoIsNotNull() {
            addCriterion("owner_photo is not null");
            return (Criteria) this;
        }

        public Criteria andOwnerPhotoEqualTo(String value) {
            addCriterion("owner_photo =", value, "ownerPhoto");
            return (Criteria) this;
        }

        public Criteria andOwnerPhotoNotEqualTo(String value) {
            addCriterion("owner_photo <>", value, "ownerPhoto");
            return (Criteria) this;
        }

        public Criteria andOwnerPhotoGreaterThan(String value) {
            addCriterion("owner_photo >", value, "ownerPhoto");
            return (Criteria) this;
        }

        public Criteria andOwnerPhotoGreaterThanOrEqualTo(String value) {
            addCriterion("owner_photo >=", value, "ownerPhoto");
            return (Criteria) this;
        }

        public Criteria andOwnerPhotoLessThan(String value) {
            addCriterion("owner_photo <", value, "ownerPhoto");
            return (Criteria) this;
        }

        public Criteria andOwnerPhotoLessThanOrEqualTo(String value) {
            addCriterion("owner_photo <=", value, "ownerPhoto");
            return (Criteria) this;
        }

        public Criteria andOwnerPhotoLike(String value) {
            addCriterion("owner_photo like", value, "ownerPhoto");
            return (Criteria) this;
        }

        public Criteria andOwnerPhotoNotLike(String value) {
            addCriterion("owner_photo not like", value, "ownerPhoto");
            return (Criteria) this;
        }

        public Criteria andOwnerPhotoIn(List<String> values) {
            addCriterion("owner_photo in", values, "ownerPhoto");
            return (Criteria) this;
        }

        public Criteria andOwnerPhotoNotIn(List<String> values) {
            addCriterion("owner_photo not in", values, "ownerPhoto");
            return (Criteria) this;
        }

        public Criteria andOwnerPhotoBetween(String value1, String value2) {
            addCriterion("owner_photo between", value1, value2, "ownerPhoto");
            return (Criteria) this;
        }

        public Criteria andOwnerPhotoNotBetween(String value1, String value2) {
            addCriterion("owner_photo not between", value1, value2, "ownerPhoto");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardAIsNull() {
            addCriterion("owner_idcard_a is null");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardAIsNotNull() {
            addCriterion("owner_idcard_a is not null");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardAEqualTo(String value) {
            addCriterion("owner_idcard_a =", value, "ownerIdcardA");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardANotEqualTo(String value) {
            addCriterion("owner_idcard_a <>", value, "ownerIdcardA");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardAGreaterThan(String value) {
            addCriterion("owner_idcard_a >", value, "ownerIdcardA");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardAGreaterThanOrEqualTo(String value) {
            addCriterion("owner_idcard_a >=", value, "ownerIdcardA");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardALessThan(String value) {
            addCriterion("owner_idcard_a <", value, "ownerIdcardA");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardALessThanOrEqualTo(String value) {
            addCriterion("owner_idcard_a <=", value, "ownerIdcardA");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardALike(String value) {
            addCriterion("owner_idcard_a like", value, "ownerIdcardA");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardANotLike(String value) {
            addCriterion("owner_idcard_a not like", value, "ownerIdcardA");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardAIn(List<String> values) {
            addCriterion("owner_idcard_a in", values, "ownerIdcardA");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardANotIn(List<String> values) {
            addCriterion("owner_idcard_a not in", values, "ownerIdcardA");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardABetween(String value1, String value2) {
            addCriterion("owner_idcard_a between", value1, value2, "ownerIdcardA");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardANotBetween(String value1, String value2) {
            addCriterion("owner_idcard_a not between", value1, value2, "ownerIdcardA");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardBIsNull() {
            addCriterion("owner_idcard_b is null");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardBIsNotNull() {
            addCriterion("owner_idcard_b is not null");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardBEqualTo(String value) {
            addCriterion("owner_idcard_b =", value, "ownerIdcardB");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardBNotEqualTo(String value) {
            addCriterion("owner_idcard_b <>", value, "ownerIdcardB");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardBGreaterThan(String value) {
            addCriterion("owner_idcard_b >", value, "ownerIdcardB");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardBGreaterThanOrEqualTo(String value) {
            addCriterion("owner_idcard_b >=", value, "ownerIdcardB");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardBLessThan(String value) {
            addCriterion("owner_idcard_b <", value, "ownerIdcardB");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardBLessThanOrEqualTo(String value) {
            addCriterion("owner_idcard_b <=", value, "ownerIdcardB");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardBLike(String value) {
            addCriterion("owner_idcard_b like", value, "ownerIdcardB");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardBNotLike(String value) {
            addCriterion("owner_idcard_b not like", value, "ownerIdcardB");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardBIn(List<String> values) {
            addCriterion("owner_idcard_b in", values, "ownerIdcardB");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardBNotIn(List<String> values) {
            addCriterion("owner_idcard_b not in", values, "ownerIdcardB");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardBBetween(String value1, String value2) {
            addCriterion("owner_idcard_b between", value1, value2, "ownerIdcardB");
            return (Criteria) this;
        }

        public Criteria andOwnerIdcardBNotBetween(String value1, String value2) {
            addCriterion("owner_idcard_b not between", value1, value2, "ownerIdcardB");
            return (Criteria) this;
        }

        public Criteria andOwnerRoomIdsIsNull() {
            addCriterion("owner-room_ids is null");
            return (Criteria) this;
        }

        public Criteria andOwnerRoomIdsIsNotNull() {
            addCriterion("owner-room_ids is not null");
            return (Criteria) this;
        }

        public Criteria andOwnerRoomIdsEqualTo(String value) {
            addCriterion("owner-room_ids =", value, "ownerRoomIds");
            return (Criteria) this;
        }

        public Criteria andOwnerRoomIdsNotEqualTo(String value) {
            addCriterion("owner-room_ids <>", value, "ownerRoomIds");
            return (Criteria) this;
        }

        public Criteria andOwnerRoomIdsGreaterThan(String value) {
            addCriterion("owner-room_ids >", value, "ownerRoomIds");
            return (Criteria) this;
        }

        public Criteria andOwnerRoomIdsGreaterThanOrEqualTo(String value) {
            addCriterion("owner-room_ids >=", value, "ownerRoomIds");
            return (Criteria) this;
        }

        public Criteria andOwnerRoomIdsLessThan(String value) {
            addCriterion("owner-room_ids <", value, "ownerRoomIds");
            return (Criteria) this;
        }

        public Criteria andOwnerRoomIdsLessThanOrEqualTo(String value) {
            addCriterion("owner-room_ids <=", value, "ownerRoomIds");
            return (Criteria) this;
        }

        public Criteria andOwnerRoomIdsLike(String value) {
            addCriterion("owner-room_ids like", value, "ownerRoomIds");
            return (Criteria) this;
        }

        public Criteria andOwnerRoomIdsNotLike(String value) {
            addCriterion("owner-room_ids not like", value, "ownerRoomIds");
            return (Criteria) this;
        }

        public Criteria andOwnerRoomIdsIn(List<String> values) {
            addCriterion("owner-room_ids in", values, "ownerRoomIds");
            return (Criteria) this;
        }

        public Criteria andOwnerRoomIdsNotIn(List<String> values) {
            addCriterion("owner-room_ids not in", values, "ownerRoomIds");
            return (Criteria) this;
        }

        public Criteria andOwnerRoomIdsBetween(String value1, String value2) {
            addCriterion("owner-room_ids between", value1, value2, "ownerRoomIds");
            return (Criteria) this;
        }

        public Criteria andOwnerRoomIdsNotBetween(String value1, String value2) {
            addCriterion("owner-room_ids not between", value1, value2, "ownerRoomIds");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}